encyklopedia.space

UWP XAML Community Toolkit

UWP XAML Community Toolkit (obecnie znany jako WinUI Community Toolkit) to otwarto‑źródłowy zestaw komponentów, kontrolek i pomocników zaprojektowanych z myślą o aplikacjach tworzonych w UWP (Universal Windows Platform) przy użyciu języka znaczników XAML oraz platformy .NET. Projekt ma na celu przyspieszenie i ułatwienie tworzenia interfejsów użytkownika oraz implementacji typowych wzorców, takich jak MVVM.

Historia

Zestaw powstał w 2015 roku jako UWP Community Toolkit, będący rozwinięciem wcześniejszego Toolkit for Universal Windows Platform. W 2020 roku, w związku z przejściem Microsoftu na platformę WinUI, projekt został przemianowany na WinUI Community Toolkit, a jego kod został przeniesiony na GitHub, skąd jest dystrybuowany jako pakiet NuGet.

Zakres i funkcjonalności

Toolkit składa się z trzech głównych warstw:

  • Kontrolki UI – gotowe komponenty, takie jak Expander, DataGrid, RadialGauge czy Tabs, które można wstawiać bezpośrednio do XAML‑u.
  • Usługi i pomocnicy – klasy ułatwiające np. iniekcję zależności, obsługę asynchroniczności, czy WeakReferenceMessenger do komunikacji między widokami a modelami.
  • Rozszerzenia językowe – konwertery, zachowania (behaviors) oraz właściwości dołączane, które pozwalają na zwiększenie możliwości XAML bez konieczności pisania kodu‑behind.

Architektura

Projekt podzielony jest na kilka pakietów NuGet, co umożliwia deweloperom pobranie jedynie potrzebnych komponentów:

  • Microsoft.Toolkit.Uwp.UI.Controls – kontrolki UI.
  • Microsoft.Toolkit.Uwp.UI.Labs – eksperymentalne elementy.
  • Microsoft.Toolkit.Diagnostics – narzędzia diagnostyczne.
  • Microsoft.Toolkit.Mvvm – biblioteka wspierająca wzorzec MVVM.

Przykładowe użycie

<Page
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:toolkit="using:Microsoft.Toolkit.Uwp.UI.Controls">

    <toolkit:Expander Header="Szczegóły">
        <TextBlock Text="Treść rozwijanej sekcji"/>
    </toolkit:Expander>
</Page>

Związki z innymi technologiami

Zestaw jest ściśle powiązany z technologiami C#, WinUI 2/3, a także z frameworkiem .NET MAUI, który korzysta z podobnych koncepcji. Dzięki temu, deweloperzy mogą wykorzystywać te same kontrolki w aplikacjach mobilnych i desktopowych.

Wspólnota i rozwój

Projekt jest utrzymywany przez społeczność programistów oraz zespół Microsoft. Każdego roku organizowane są spotkania, w tym coroczne Microsoft Build, gdzie prezentowane są nowe funkcje i roadmapa. Zgłoszenia błędów oraz propozycje funkcjonalności przyjmowane są poprzez sekcję Issues na GitHubie.

Bibliografia

  • „UWP Community Toolkit Documentation”, oficjalna dokumentacja (dostępna na Microsoft Docs).
  • „WinUI Community Toolkit – GitHub Repository”, repozytorium kodu źródłowego.
  • K. Szyperski, Wzorce projektowe w .NET, wyd. Helion, 2022.

Zobacz także